VDC-Based Dynamic Code Analysis: Application to C Programs
نویسندگان
چکیده
Dynamic code analysis attempts to find errors or vulnerabilities while a program is executing on a real or virtual processor. The objective of dynamic analysis is to reduce debugging time by automatically pinpointing and informing on errors as they occur. The use of dynamic analysis tools can reduce the need for the developer to recreate the precise conditions under which an error, a vulnerability or a security flow occurs. This paper presents a formal approach to detect software vulnerabilities in C programs relying on formal models of vulnerabilities causes called “Vulnerability Detection Conditions” (VDCs). These models provide a formal interpretation of a vulnerability to facilitate its automatic detection using dynamic code analysis tool. To illustrate our approach, a prototype tool TestInv-Code has been developed. It allows to detect the presence of vulnerabilities by checking the VDCs on the execution trace of the studied C program. By traces we mean here the disassembled instructions that are being executed. The tool has been applied on an open source application XINE that contains a known vulnerability to demonstrate its effectiveness.
منابع مشابه
Dissertation : Incremental Maintenance of Recursive Views with Applications to Tabled Logic Programming
Vulnerability analysis using dynamic attack graphs, dynamic binary analysis for mobile code security, incre-mental bisimulation algorithm. Development of algorithms for incremental evaluation of tabled logic programs and its application to program analysis, generation and analysis of multiple counterexamples for error cause localization, model checking security-relevant properties of sequential...
متن کاملGuest Lecturer . Principles of Programming Language
Vulnerability analysis using dynamic attack graphs, dynamic binary analysis for mobile code security, incre-mental bisimulation algorithm. Development of algorithms for incremental evaluation of tabled logic programs and its application to program analysis, generation and analysis of multiple counterexamples for error cause localization, model checking security-relevant properties of sequential...
متن کاملUsing Testing Techniques for Vulnerability Detection in C Programs
This paper presents a technique for vulnerability detection in C programs. It is based on a vulnerability formal model called “Vulnerability Detection Conditions" (VDCs). This model is used together with passive testing techniques for the automatic detection of vulnerabilities. The proposed technique has been implemented in a dynamic code analysis tool, TestInv-Code, which detects the presence ...
متن کاملAccelerating Precise Race Detection Using Commercially- Available Hardware Transactional Memory Support
It is typical for state-of-the-art dynamic race detection algorithms for C programs to slow down an application by a large factor. Our measurements indicate that a significant portion of this slowdown is due to additional lock-based synchronization performed by instrumentation code. This synchronization is necessary to ensure atomic update of analysis state. We present the first precise race de...
متن کاملQuantitative Information-Flow Tracking for C and Related Languages
We present a new approach for tracking programs’ use of data through arbitrary calculations, to determine how much information about secret inputs is revealed by public outputs. Using a fine-grained dynamic bit-tracking analysis, the technique measures the information revealed during a particular execution. The technique accounts for indirect flows, e.g. via branches and pointer operations. Two...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. Internet Serv. Inf. Secur.
دوره 1 شماره
صفحات -
تاریخ انتشار 2011